package edu.pw.treegrid.shared;

public enum ReportColumnCategory {
	/** name, path, parentPath */
	SPECIAL(false, false, false)
	/** wystepuje w mierarchii, ale widoczne w widoku */
	, HIERARCHY(false, true, true)
	/** wystepuje w mierarchii, ale domyslnie nie widoczne */
	, HIERARCHY_NOT_VISIBLE(false, true, true)
	/** miernik, nie moze byc w hierarchii */
	, MEASURE(true, false, true)
	/** miernik nie widoczny */
	, MEASURE_NOT_VISIBLE(false, false, true)
	/** kolumny bedace kandydatami na hierarchie, ale widoczne w widoku */
	, CANDITATE(true, true, true)
	/** kolumny bedace kandydatami na hierarchie, ale domyslnie nie widoczne w raporcie */
	, CANDIDATE_NOT_VISIBLE(false, true, true)
	/** kolumny domyslnie nie widoczne */
	, OTHER_NOT_VISIBLE(false, false, true)
	/** kolumny domyslnie widoczne - domyslna wartosc */
	, OTHER(true, false, true)
	;
	
	private ReportColumnCategory(boolean visibleAsReportColumn, boolean candidate, boolean visibleAsReportFilter) {
		this.visibleAsReportColumn = visibleAsReportColumn;
		this.visibleAsReportFilter = visibleAsReportFilter;
		this.candidate = candidate;
	}
	
	private boolean visibleAsReportColumn;
	private boolean visibleAsReportFilter;
	private boolean candidate;
	
	public boolean isVisibleAsReportColumn() {
		return visibleAsReportColumn;
	}
	
	public boolean isVisibleAsReportFilter() {
		return visibleAsReportFilter;
	}
	
	public boolean isCandidate() {
		return candidate;
	}
}
